home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / gg / ncurses-5.3.lha / ncurses-5.3 / include / MKncurses_def.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  2002-10-24  |  3KB  |  81 lines

  1. #! /bin/sh
  2. # $Id: MKncurses_def.sh,v 1.1 2000/09/02 17:37:35 tom Exp $
  3. ##############################################################################
  4. # Copyright (c) 2000 Free Software Foundation, Inc.                          #
  5. #                                                                            #
  6. # Permission is hereby granted, free of charge, to any person obtaining a    #
  7. # copy of this software and associated documentation files (the "Software"), #
  8. # to deal in the Software without restriction, including without limitation  #
  9. # the rights to use, copy, modify, merge, publish, distribute, distribute    #
  10. # with modifications, sublicense, and/or sell copies of the Software, and to #
  11. # permit persons to whom the Software is furnished to do so, subject to the  #
  12. # following conditions:                                                      #
  13. #                                                                            #
  14. # The above copyright notice and this permission notice shall be included in #
  15. # all copies or substantial portions of the Software.                        #
  16. #                                                                            #
  17. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
  18. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
  19. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
  20. # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
  21. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
  22. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
  23. # DEALINGS IN THE SOFTWARE.                                                  #
  24. #                                                                            #
  25. # Except as contained in this notice, the name(s) of the above copyright     #
  26. # holders shall not be used in advertising or otherwise to promote the sale, #
  27. # use or other dealings in this Software without prior written               #
  28. # authorization.                                                             #
  29. ##############################################################################
  30. #
  31. # MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h
  32. #
  33. # Author: Thomas E. Dickey <dickey@herndon4.his.com> 2000
  34. #
  35. # Given the choice between constructs such as
  36. #
  37. #    #if defined(foo) && foo
  38. #    #if foo
  39. #
  40. # we chose the latter.  It is guaranteed by the language standard, and there
  41. # appear to be no broken compilers that do not honor that detail.  But some
  42. # people want to use gcc's -Wundef option (corresponding to one of the less
  43. # useful features in Watcom's compiler) to check for misspellings.  So we
  44. # generate a set of fallback definitions to quiet the warnings without making
  45. # the code ugly.
  46. #
  47. DEFS="${1-ncurses_defs}"
  48. cat <<EOF
  49. /*
  50.  * This file is generated by $0
  51.  */
  52.  
  53. #ifndef NC_DEFINE_H
  54. #define NC_DEFINE_H 1
  55.  
  56. EOF
  57.  
  58. ${AWK-awk} <$DEFS '
  59. !/^[@#]/ {
  60.     if ( NF == 1 )
  61.     {
  62.         print "#ifndef", $1
  63.         print "#define", $1, "0"
  64.         print "#endif"
  65.         print ""
  66.     } else if ( NF != 0 ) {
  67.         print "#ifndef", $1
  68.         printf "#define"
  69.         for (n = 1; n <= NF; n++) {
  70.             printf " %s", $n
  71.         }
  72.         print ""
  73.         print "#endif"
  74.         print ""
  75.     }
  76. }
  77. END    {
  78. print "#endif /* NC_DEFINE_H */"
  79.     }
  80. '
  81.